load("@rules_cc//cc:cc_library.bzl", "cc_library")

cc_library(
    name = "boost.container",
    srcs = glob(
        [
            "src/*.cpp",
            "src/*.c",
        ],
        exclude = [
            "src/dlmalloc_ext_2_8_6.c",
            "src/dlmalloc_2_8_6.c",
        ],
    ),
    hdrs = glob(
        [
            "include/**/*.hpp",
            "include/**/*.h",
        ],
        exclude = [
            "include/boost/container/detail/**/*.hpp",
            "include/boost/container/node_allocator.hpp",
        ],
    ),
    defines = ["BOOST_ALL_NO_LIB"],
    features = ["parse_headers"],
    includes = ["include"],
    textual_hdrs = glob(
        ["include/boost/container/detail/**/*.hpp"],
    ) + [
        "include/boost/container/node_allocator.hpp",
        "src/dlmalloc_ext_2_8_6.c",
        "src/dlmalloc_2_8_6.c",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "@boost.assert",
        "@boost.config",
        "@boost.intrusive",
        "@boost.move",
    ],
)
